소감

이전 회사에서는 톰캣이나 아파치 설정을 크게 만질 일이 없었다. 물론 LVS에 여러 개의 서버가 붙어있고, 그 서버가 어떻게 배포가 되는지는 알고 있었지만 설정은 인프라 담당 팀에서 다뤘기 때문에 다룰 일이 없었다. 다룰 일이 없었기 때문에 거의 몰랐던 것은 당연지사

그러나 새로 이직한 회사에서는 설정을 어느정도는 만질 수 있어야 했고, 하나도 몰랐기 때문에 꽤나 고생했던 기억이 난다. 그 때 이후로 서버나 인프라를 어느정도 정리할 필요가 있다고 생각해서 미뤄두다가 고른 책이 바로 이 책

모든 부분을 읽지는 않았고, 앗 이거다 하는 부분을 발췌해가면서 읽었는데 지금까지 알았던 것들을 정리하는데 큰 도움이 되었다. 시작은 간단한 서버 구성으로 시작하여 서버 이중화 / LVS 도입 / 로드밸런싱 / 리버스 프록시와 같은 내용을 하나하나 다루는데 자세하게는 다루지 않지만 이런 게 있구나. 혹은 이런게 이런 방식이구나 하는 키워드 습득에는 효율적이라고 느꼈다.

1-2년쯤 전에 읽었으면 좋았을 거 같다. 특히 MySQL 복제나 Health Check 같은 부분은 신입때 읽어도 좋을 거 같다. 리버스 프록시는 지금 아파치에서 내가 설정한 게 리버스 프록시인데, 그것도 모르고 사용하고 있던 거 같아서 얼굴이 후끈후끈

목차를 쭉 보니 발췌하면서 읽었던 부분은

  • 서버 다중화
  • 로드밸런서
  • 리버스 프록시
  • 캐시서버
  • MySQL 복제
  • 스토리지 서버
  • DNS 다중화
  • 아파치 성능 튜닝
  • 리눅스 부하 발생시 사용할 수 있는 명령어 / 툴
  • 리눅스 프로세서 스케쥴링

정도였고 읽지 않고 넘어간 부분은 L1/L2 레이어단의 아키텍쳐와 스토리지 / 네트워크 다중화 / VLAN 인데 이런 부분은 경험해 본 적이 없다 보니 중요한지 확인이 어려웠고 와닿지 않아서 넘어갔다. 웹 어플리케이션 개발자가 직접 L1 / L2 레이어 장비를 만지고 아키텍쳐를 확인할 일이 잘 없을 거라고 생각했기도 하고. 물론 나중에 만질 일이 생길지도 모르지만 그러면 그 때 열어보는게 효율적이라고 생각했다.

이런 종류의 책은, 아니 어쩌면 대부분의 책은 경험해보지 않으면 무엇이 중요한지 알기 어려운데 내 경험에는 위에서 읽었던 부분은 거의 다 중요하다.

특히 중요한 부분을 짚자면 리눅스 부하 발생 체크. 그리고 대부분 LVS가 구성된 시스템을 다루는 개발자들은 알 거 같아서 이야기를 하기 좀 민망하지만 로드밸런서 쪽 서버 아키텍쳐와 MySQL 복제, 서버 Health Check이다. 그리고 리버스 프록시도 중요한 편이고. 내가 읽지 않은 부분에서도 중요한 부분이 있을 거 같은데, 경험이 모자라 캐치하지 못한게 아쉬울 따름.

이 정도가 좋았던 부분이고 아쉬운 부분은 아무래도 출판일이 2009년이라서, 거진 10년 전 책이기 때문에 이제는 사용하지 않는 기술들도 있다.

스토리지 서버는 요즘엔 하둡의 HDFS 에 저장하는 경우가 많지 않을까 싶은데. 캐시 서버는 memcached보다는 redis를 사용하는 케이스가 더 많을 거 같고.

아파치 또한 잘 모르는 부분이지만 nginx를 사용하는 케이스도 많지 않을까 싶다. 이런건 시간이 지나면서 기술이 변경된 것이니 어쩔 수 없는 일이라고 생각한다. 또한 이 책에서 소개해주는 도구들은 사용하는 것들도 있지만 현재는 사용하지 않는 것들도 많을 거라고 생각한다. 그 부분은 지식이 없어서 어떤 게 사용하는 도구인지 파악하지는 못했다. 아직도 사용하고 있는 도구들도 있을 거라고 생각한다.

그래도 어떻게 서버의 부하를 판단하는지, 웹 서버가 어떤 방식의 아키텍쳐를 구성하는지에 대한 글은 아직도 유효하고 훌륭하게 설명해 두었다. 나같이 잠깐 서버 설정할때만 config 보고 복사 / 붙여넣기 하면서 알고 있는 설정만 몇 개 체크하고, 문제가 발생하면 top 으로 서버를 확인하면서도 각각 지표가 무슨 의민지 명확하게 몰랐던 사람에게는 추천. 이 책을 보면서 load average가 어떤 의미의 지표인지 처음으로 명확하게 알았다.

책에 나온 문장을 인용하며 글을 마치려고 한다.

추측하지 마라, 계측하라.

무엇을 어떻게 계측하면 될지 알려주는 좋은 책이다.